package com.polarrose.wsf.validator;

import java.math.BigDecimal;

public class RangeValidator implements Validator<Number> {

	private BigDecimal minValue;
	private BigDecimal maxValue;

	public String validate(Number o) {
		BigDecimal value = new BigDecimal(o.doubleValue());
		if (minValue != null) {
			if (value.compareTo(minValue) < 0) {
				return "Value must be > " + minValue.toString();
			}
		}
		if (maxValue != null) {
			if (value.compareTo(maxValue) > 0) {
				return "Value must be < " + maxValue.toString();
			}
		}
		return null;
	}

	public void setMaxValue(String maxValue) {
		this.maxValue = new BigDecimal(maxValue);
	}

	public void setMinValue(String minValue) {
		this.minValue = new BigDecimal(minValue);
	}
}
